\begin{center}
	\huge{\textbf{Abstract}}
\end{center}
  Process Calculi is a family of approaches widely used for modeling concurrent environments. Dealing with concurrency makes it essential to handle high-level tasks of interaction, communication and synchronization between collection of processes. $\pi$-calculus has been recently added to the family of concurrent calculus by Robin Milner, Jaochim Parrow and David Walker. Several attempts have been made for modeling a programming framework for $\pi$-calculus. Pict a programming language based on $\pi$-calculus is one such attempt. \\
  This thesis aims to create a programming framework for $\pi$-calculus in Java which is one of the most widely used languages for application development. The library models mobile channels and concurrent interactions between processes using object oriented paradigm. Concurrency handling using locks and condition variables is primitive and is highly error-prone. We have used software transactional memory(STM) for concurrent programming in Java. In the later part of the thesis we prove the type safety of a simplified version of this language modeled using Featherweight Java. 